উদাহরণ সহ Square Root এবং Power Calculations

Square Root এবং Power Calculations - জাভা ম্যাথ প্যাকেজ (Java.math Package) - Java Technologies

380

BigDecimal ক্লাসটি java.math প্যাকেজের একটি গুরুত্বপূর্ণ অংশ যা বড় সংখ্যার দশমিক মানের জন্য গণনা করতে ব্যবহৃত হয়। BigDecimal এর মাধ্যমে fractional power (অংশবিশেষ শক্তি) এবং square root (বর্গমূল) গণনা করা সম্ভব, যদিও BigDecimal এ সরাসরি pow() এবং sqrt() মেথড নেই। তবে, BigDecimal ব্যবহার করে এই গণনাগুলি করা যায় কিছু নির্দিষ্ট পদ্ধতির মাধ্যমে।

1. BigDecimal এর মাধ্যমে Fractional Power (অংশবিশেষ শক্তি) গণনা:

ফ্র্যাকশনাল পাওয়ার (যেমন, 2^0.5 বা 3^1.5) গণনা করার জন্য, BigDecimal এর জন্য সরাসরি কোনো মেথড নেই। তবে, আপনি Math.pow() ব্যবহার করতে পারেন এবং তারপর তার মান BigDecimal এ কনভার্ট করতে পারেন।

উদাহরণ: Fractional Power (যেমন, 2^0.5 বা 3^1.5) গণনা করা:

import java.math.BigDecimal;
import java.math.MathContext;

public class FractionalPowerExample {
    public static void main(String[] args) {
        // Create a BigDecimal object
        BigDecimal base = new BigDecimal("2");
        double exponent = 0.5;  // Fractional power (square root)

        // Calculate power using Math.pow and convert to BigDecimal
        BigDecimal result = new BigDecimal(Math.pow(base.doubleValue(), exponent));
        System.out.println("2^0.5 = " + result);

        // Another example: 3^1.5
        BigDecimal base2 = new BigDecimal("3");
        double exponent2 = 1.5;
        BigDecimal result2 = new BigDecimal(Math.pow(base2.doubleValue(), exponent2));
        System.out.println("3^1.5 = " + result2);
    }
}

Output:

2^0.5 = 1.4142135623730951
3^1.5 = 5.196152422706632

ব্যাখ্যা:

  • Math.pow(base.doubleValue(), exponent): এখানে Math.pow() মেথডটি double প্রকারে শক্তি গণনা করছে এবং তারপর তা BigDecimal এ রূপান্তরিত হচ্ছে।
  • এই পদ্ধতিতে ফ্র্যাকশনাল পাওয়ার গণনা করা হয়, কিন্তু ফলস্বরূপের সঠিকতা নিশ্চিত করতে BigDecimal এর সাহায্যে রাউন্ডিং এবং স্কেল নির্ধারণ করা হতে পারে।

2. BigDecimal এর মাধ্যমে Square Root (বর্গমূল) গণনা:

BigDecimal ক্লাসে সরাসরি sqrt() মেথড নেই, তবে আপনি BigDecimal এর সাহায্যে বর্গমূল (Square Root) গণনা করতে পারেন BigDecimal এবং MathContext ব্যবহার করে।

উদাহরণ: Square Root (বর্গমূল) গণনা করা:

import java.math.BigDecimal;
import java.math.MathContext;

public class SquareRootExample {
    public static void main(String[] args) {
        // Create a BigDecimal object
        BigDecimal number = new BigDecimal("16");

        // Use MathContext to define precision
        MathContext mc = new MathContext(10);  // Define precision (10 decimal places)

        // Calculate the square root using BigDecimal and MathContext
        BigDecimal squareRoot = number.sqrt(mc);
        System.out.println("Square root of 16 is: " + squareRoot);

        // Another example: Square root of 2
        BigDecimal number2 = new BigDecimal("2");
        BigDecimal squareRoot2 = number2.sqrt(mc);
        System.out.println("Square root of 2 is: " + squareRoot2);
    }
}

Output:

Square root of 16 is: 4
Square root of 2 is: 1.414213562

ব্যাখ্যা:

  • number.sqrt(mc): এখানে BigDecimal.sqrt(MathContext mc) মেথডটি ব্যবহার করে BigDecimal এর বর্গমূল বের করা হয়েছে। MathContext ব্যবহার করে গাণিতিক নির্ভুলতা নির্ধারণ করা হয়েছে, যেমন এখানে ১০ দশমিক স্থান নির্ধারণ করা হয়েছে।

3. Square Root এবং Power Calculation এর জন্য Precision এবং Rounding

যেহেতু BigDecimal একটি উচ্চ সঠিকতা এবং নির্ভুলতার গণনা করার জন্য ব্যবহৃত হয়, তাই BigDecimal এর গণনাগুলিতে precision এবং rounding খুবই গুরুত্বপূর্ণ। এই মেথডগুলো ব্যবহার করার সময় MathContext এবং setScale() ব্যবহার করে সঠিক ফলাফল নিশ্চিত করা উচিত।

উদাহরণ: Square Root এবং Power এর জন্য Precision এবং Rounding

import java.math.BigDecimal;
import java.math.MathContext;

public class PrecisionAndRoundingExample {
    public static void main(String[] args) {
        // Create a BigDecimal object
        BigDecimal number = new BigDecimal("16");
        
        // Use MathContext to define precision
        MathContext mc = new MathContext(5);  // Precision of 5 digits

        // Calculate the square root using BigDecimal with precision
        BigDecimal squareRoot = number.sqrt(mc);
        System.out.println("Square root of 16 with precision: " + squareRoot);

        // Power example with precision
        BigDecimal base = new BigDecimal("3");
        BigDecimal powerResult = base.pow(2, mc);  // Power with precision
        System.out.println("3^2 with precision: " + powerResult);
    }
}

Output:

Square root of 16 with precision: 4.0000
3^2 with precision: 9.0000

ব্যাখ্যা:

  • MathContext(5): এখানে সঠিকতার জন্য MathContext ব্যবহার করা হয়েছে, যা ৫ ডিজিট সঠিকতা নির্ধারণ করে।
  • pow() মেথডটি BigDecimal এর শক্তি গণনা করার জন্য ব্যবহৃত হয়েছে এবং এখানে mc মানে নির্দিষ্ট সঠিকতা ব্যবহার করা হয়েছে।

  • BigDecimal ব্যবহার করে fractional power এবং square root গণনা করার জন্য Math.pow() এবং BigDecimal.sqrt(MathContext mc) মেথডগুলো ব্যবহার করা হয়।
  • Precision এবং Rounding নিশ্চিত করতে MathContext এবং setScale() ব্যবহৃত হয়।
  • BigDecimal ক্লাসের মাধ্যমে আপনি খুব উচ্চ সঠিকতা এবং নির্ভুলতার সাথে গাণিতিক গণনা করতে পারবেন, যা সাধারণ float বা double টাইপের সাথে সম্ভব নয়।
Content added By
Promotion

Are you sure to start over?

Loading...